README – MSc Project Supporting Materials
Project Title

A Comparative Evaluation of Lightweight Machine Learning Models for SMS Spam and Smishing Detection

Student

Bryan Alexis Rivas Dominguez

Programme

MSc Cyber Security and Digital Forensics
Submission Type

Supporting Practical Materials / Project Appendix

1. Purpose of This Archive

This archive contains the supporting practical materials for the MSc Master’s Project.
It is provided to demonstrate the implementation, experimentation, and validation of lightweight machine learning models used to detect SMS spam and smishing messages.

The contents of this archive complement and support the methodology, system design, implementation, and results discussed in the main dissertation document.

2. Project Structure

The project is organised into the following folders and files:

📁 src/

Contains the core Python source code used in the project, including:

Text preprocessing and data cleaning

Feature extraction using TF-IDF

Training and evaluation of machine learning models:

Naive Bayes

Random Forest

These scripts reflect the experimental workflow described in the Research Methodology chapter.

📁 data/

Contains the datasets used during experimentation.

The datasets are publicly available and ethically sourced

Dataset details, sources, and justification are fully documented and referenced in the main dissertation

The data is included here to support transparency and reproducibility

📁 results/

Contains the outputs of the experimental evaluation, including:

Model performance metrics:

Accuracy

Precision

Recall

F1-score

Model comparison outputs

Confusion matrix results

These results directly support the analysis presented in the Results and Discussion chapter.

📁 notebooks/

Contains Jupyter notebooks used for:

Exploratory analysis

Intermediate experimentation

Validation of preprocessing and model behaviour

These notebooks support the development and testing stages of the project.

📁 figures/

Contains figures and visual outputs generated during experimentation, including:

Graphs

Evaluation visualisations

Figures used or referenced in the dissertation

📁 Screenshots/

Contains visual evidence of the project execution, including:

Code execution in the development environment

Model training and evaluation outputs

Console results

Demonstration of the SMS classification application

These screenshots are provided to support clarity and verification.

📄 app.py

A simple SMS classification application developed as part of the project validation.

Allows a user to input an SMS message

Returns a classification result:

Legitimate (Ham)

Spam / Smishing (Malicious)

This application supports the conceptual design and validation sections of the project.

📄 Read me.txt

This document, which provides an overview of the archive contents and structure.

3. Technical Environment

The project was developed and tested using:

Python 3.x

Standard data science and machine learning libraries, including:

scikit-learn

pandas

numpy

Environment-specific files (e.g. virtual environments) are intentionally excluded, as the focus of this archive is evaluation and demonstration, not deployment.

4. How to Use These Materials

Each script and notebook can be reviewed independently.
The materials are intended to be examined alongside the main dissertation to:

Verify the implementation

Review experimental design

Inspect evaluation outputs

Understand the validation approach

No additional configuration is required for review purposes.

5. Academic Integrity and Declaration

All materials contained in this archive were created and compiled by the student as part of the MSc Master’s Project.
All external datasets, libraries, and resources used are properly acknowledged and referenced in the main dissertation.

End of README